Method and apparatus for detecting overlapping products in a singulated product stream

ABSTRACT

A singulated stream of products comprised of both single and overlapping products is transported through a scanning zone along a transport path. Each single or overlapping product defines a shadow on the transport path that is analyzed to determine the presence of product multiples in the product shadow by measuring the width and length of the product shadow. If the length of the product shadow exceeds by more than a predetermined amount the average length of previously measured shadows having a similar width, the shadow likely contains two or more overlapping products. As the product shadow moves through the scanning zone, each product included therein is scanned for affixed bar codes by a plurality of bar code scanners. If two different bar codes or two identical bar codes from mutually exclusive scanners are recorded for a single product shadow, then the shadow likely contains two or more overlapping products.

This is a continuation of application Ser. No. 07/864,433 filed Apr. 6,1992, now U.S. Pat. No. 5,202,557 issued Apr. 13, 1993 and applicationSer. No. 07/996,153 filed Dec. 23, 1992 now U.S. Pat. No. 5,371,357.

TECHNICAL FIELD

The present invention relates to singulating, counting and sortingproducts and, in particular, to a method and apparatus for ascertaining,prior to mechanical sorting, the presence of two or more overlappingproducts in a singulated stream of bar coded products moving at arelatively high throughput rate.

BACKGROUND OF THE INVENTION

For purposes of product returns and order filling, it is important to beable to sort and count products accurately and quickly. Such products,for example magazines and retail packages, have historically either beenmanually sorted and counted by human operators or manually scanned toread an affixed code, counted and then sorted by the human operatoraccording to a product disposition signal provided from the productscanner according to the scanned code. One drawback experienced withthese primarily manual methods for separating, counting and sorting isthat total product processing time for sorting and counting is afunction of each human operator's ability to accurately sort and countproducts and/or efficiently scan the products to obtain the affixed barcode for sorting and counting. Familiarity with the product and thesignals indicating the disposition of each product also factor into theprocessing time. An additional drawback of the conventional manualseparation, counting and sorting process is its susceptibility to errorresulting from careless human operators directing products into improperbins. These drawbacks result in errors in the counting of products anddelays in the sorting process thereby reducing the net productthroughput of and profits for the sorting and counting operation.

The goals of all sorting and counting operations are accuracy, low costand high throughput product processing. To achieve these goals and, inparticular, combat the drawbacks associated with manual sorting andcounting operations, automated machines have been provided to singulatestacks of products into a product stream, count the number of singulatedproducts and then sort the products, according to an affixed bar code,for further processing. As is well known, there are two commonorientations of bar codes, a ladder code orientation and a picket codeorientation. These two orientations are easily distinguished from eachother; a ladder code is comprised of a plurality of horizontal bars(like the rungs of a ladder) parallel to a top or bottom edge of aproduct, and a picket orientation is comprised of a plurality ofvertical bars (like the pickets in a fence) parallel to a side edge of aproduct. Bar codes may be affixed to the product at any one of a numberof locations on any outside surface.

The keys to proper counting and sorting of bar coded products areaccurate scanning of the affixed bar codes and complete singulation ofthe product stack into a stream of individual products. Mechanicalsingulators, like the product singulation apparatus disclosed incommonly assigned, co-pending application for patent Ser. No. 593,783filed Oct. 5, 1990, however, randomly fail to completely separate two ormore products from each other. This failure to completely singulate thestacks of products creates a condition known as a "product multiple"occurrence wherein the non-singulated products either completely orpartially overlap one another.

When overlapping products are present in a singulated product stream,the accuracy, throughput and profits of the sorting and countingoperation are adversely affected. For example, one or more of theoverlapping products are likely to be directed to an incorrect finaldisposition. Furthermore, in applications, such as returns processing,where accurate counting is imperative, two or more overlapping productsare likely to be miscounted as a single product. Accordingly, there is aneed for a method and apparatus for accurately detecting the presence ofproduct overlaps in a singulated stream of coded products prior tosorting thereby providing for a more accurate sort and count of theproduct stream.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus for detectingoverlapping products in a singulated stream of products moving at arelatively high throughput rate by scanning for multiple bar codes in,and measuring the relative dimensions of, the product stream. Inaccordance with the broader aspects of the invention, a scanning zone isvirtually defined on a transport path characterized by a plurality ofrotational feed rollers. The transport path receives from a singulationmachine a stream of singulated bar coded products that randomly containsnon-singulated, overlapping products. Each singulated product or groupof overlapping products generates a "shadow" on the transport path. Eachshadow is allocated a tracking record by the apparatus that containsproduct size, bar code, position and sorting disposition information.This information, in particular the product size and bar codeinformation, is used to identify overlapping products in the productshadows.

Photoelectric sensors along the transport path are used to measure thesize (length and width) of the product shadows that pass through thescanning zone. Product overlaps are identified in those shadows passingthrough the scanning zone that have disproportionate measured lengths interms of their measured widths. The presence of an overlap is furtherdetected by scanning the top and bottom surfaces of products in eachshadow passing through the scanning zone for multiple bar codes. Forexample, if two or more different bar codes are read for a singleproduct shadow or if the same bar code is read from mutually exclusivescanners for a single product shadow, then two or more overlappingproducts are likely in the shadow and an overlap occurrence has beendetected.

The tracking records of each shadow are updated following sizemeasurement and bar code scanning to identify those shadows containingproduct overlaps. The shadow tracking information is then used in thesubsequent mechanical sorting operation to direct all product shadowsidentified as containing overlapping products into a special sorting binfor reprocessing. As the true number of overlapping products in a shadowis not known (could be two or more), segregating the shadows containingoverlapping products from the singulated products through a sortingoperation enables a more accurate product count to be made.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and apparatus foridentifying overlapping products in a singulated product stream may behad by reference to the following Detailed Description when taken inconjunction with the Drawings wherein:

FIG. 1 is an orthogonal view of the transport path and a portion of theoverlapping products detection system of the present invention;

FIG. 2A is a partial longitudinal cross sectional view of the transportpath and overlapping products detection system of the present invention;

FIG. 2B is a lateral cross sectional view of the scanning transport pathand overlapping products detection system of the present invention;

FIG. 2C is a top view of the transport path showing the virtuallydefined scanning zone;

FIG. 3 is a schematic view of the overlapping products detection systemof the present invention; and

FIGS. 4 and 5A-5C are flow diagrams .for detecting overlapping productsin a singulated product stream using the apparatus of FIGS. 1, 2A, 2B,2C and 3.

DETAILED DESCRIPTION OF THE DRAWINGS

Reference is now made to FIG. 1 wherein there is shown an orthogonalview of a transport path, illustrated generally by arrow 100, and aportion of an overlapping products detection system 200 (remainingportion hidden underneath transport path) comprising the presentinvention. The transport path 100 includes a series of rotating feedrollers 102 arranged on a laterally tilted and inclined plane. Thetransport path 100 has an inside and an outside rail, 104 and 106,respectively. A lateral tilt (of approximately five degrees) for thescanning transport path 100 positions the inside rail 104 at a lowerelevation than the outside rail 106. Configuration of the transport path100 in this manner causes products (not shown, see FIG. 2A) thereon toslide toward and ride against the inside rail 104 in single filefashion. This positions each product with a side edge flush against(parallel to) the inside rail 104 to facilitate a more accurateidentification of product overlaps by the detection system 200 byproperly orienting the products for accurate size measurement andscanning of a ladder and picket oriented bar codes.

The transport path 100 has an infeed end 108 for receiving a stream ofsingulated products. An apparatus for singulating products for input tothe transport path 100 is disclosed in commonly assigned, co-pendingapplication for patent Ser. No. 593,783 filed Oct. 5, 1990. The scanningtransport path 100 also has an output end 110 for discharging the streamof products for subsequent sorting into designated destination binsaccording to their scanned bar codes. An apparatus for receiving asingulated stream of products and for sorting the product streamaccording to scanned bar codes affixed thereto is disclosed in commonlyassigned, co-pending application for patent Ser. No. 643,853 filed Jan.22, 1991.

The transport path 100 is laterally tilted and longitudinally positionedfor convenience on an incline to match the approximately five degreetilt and twenty-two degree incline of the disclosed singulatingapparatus. It will, of course, be understood that the transport path 100need not be longitudinally oriented in this manner for proper operationof the scanning system 200. However, by positioning the transport pathin this manner, the disclosed singulating apparatus and apparatus of thepresent invention may share several of the feed rollers 102 at theinfeed end 108 thereby reducing construction costs and providing formore efficient operation of the combined singulation, scanning andsorting apparatus.

The singulator attached to the infeed end 108 is designed to separate aproduct stack into a singulated stream of individual, separatedproducts. It is known, however, that randomly two or more products willfail to separate from each other during the singulation process. Thesenon-separated products will either completely or partially overlap eachother creating a condition known as a product overlap (or productmultiples) occurrence. The presence of overlapping products in asingulated product stream adversely affects the accuracy, throughput andprofits of the sorting and counting operation because the overlappedproducts will be incorrectly counted as a single product, and becauseone or more of the overlapping products may be sorted into an incorrectfinal disposition.

Reference is now made to FIGS. 2A and 2B wherein there is shown apartial, longitudinal cross sectional view and a lateral cross sectionalview, respectively, of the scanning transport path 100 and overlappingproducts detection system 200 of the present invention. The transportpath 100 includes a series of feed rollers 102, with each feed rollerrotatably mounted to a frame 112. The frame 112 is comprised of anopposed pair of longitudinally extending side plates 114 and a bottomsupport plate 116. The feed rollers 102 extend transversely between andperpendicular to the opposed side plates 114, and are positioned withrespect to each other such that there is a gap 118 between each adjacentpair of rollers.

Each feed roller 102 is comprised of a drive shaft 120 having opposedends, 122 and 124, with the drive shaft covered by a hard, high frictionmaterial 126. The drive mechanism for each feed roller 102 is preferablya D.C. electric motor 128 mounted to the frame 112. A pulley 130 mountedto the motor 128 directs operating power from the motor to a secondpulley 132 by means of a drive belt 134. The second pulley 132 isattached to one end, either 122 or 124, of the drive shaft 120 to causerotation thereof. In the preferred embodiment, one motor 128 is used toactuate one feed roller 102. As shown in FIGS. 1, 2A and 2B, motors 128for adjacent feed rollers 102 are mounted on opposite sides of the frame112 so that a proper gap 118 is maintained between adjacent roller pairswithout causing the pulleys 130 and 132 and motors for the adjacentrollers to interfere with each other.

The overlapping products detection system 200 is comprised of a bar codescanning subsystem 202 and a product measurement subsystem 204. Thescanning subsystem 202 is comprised of a pair of raster scanners 206 anda pair of line scanners 208a and 208b oriented above and below thetransport path 100 in the manner shown in FIGS. 2A and 2B. As is wellknown, raster scanners 206 are preferably used to read ladder orientedbar codes and line scanners 208 are preferably used to read picketoriented bar codes on the surfaces of the individual products in thesingulated product stream. In the preferred embodiment of the presentinvention, the line scanner used is a SCANSTAR 10 Line Scanner and theraster scanner is a SCANSTAR 15 Raster Scanner. These scanners may bepurchased from Computer Identics of 5 Shawmut Road, Canton, Mass. 02021.

The scanning subsystem 202 is arranged such that the pair of rasterscanners 206 are positioned side-by-side above the transport path 100 toscan for ladder oriented codes on a top surface of each product 227 inthe singulated stream of products. The first line scanner 208a ispositioned upstream from the pair of raster scanners 206 and above thetransport path 100 to scan for picket oriented codes on the top surfaceof each product 227 in the singulated stream. The second line scanner208b is positioned below the transport path 100 to scan, through the gap118 between two adjacent feed rollers 102, for picket oriented codes ona bottom surface of each product 227 in the singulated stream.

Reference is now made to FIG. 2C, wherein there is shown a top view ofthe transport path 100. Orientation of the scanning means of thescanning subsystem 202 in the manner described above results in thevirtual definition of a scanning zone 210 on the transport path 100. Thescanning zone 210 is offset from the longitudinal center of thetransport path 100 and positioned adjacent to the inside rail 104. Withsuch positioning, the scanning subsystem 202 scans, in a more efficientmanner, the area of the transport path 100 where the individual products227 in the product stream are most likely located due to the lateraltilt of the transport path. The scanning zone 210 is comprised of aside-by-side pair of square raster scan zones 212 on the top of thetransport path 100 corresponding to the fields of view 214 of the tworaster scanners 206 (see FIGS. 2A and 2B) positioned above the transportpath. The scanning zone further includes a top side line scan zone 216and bottom side (shown in broken lines) line scan zone 216 correspondingto the fields of view 218 of the top and bottom line scanners 208a and208b (see FIGS. 2A and 2B) positioned above and below, respectively, thetransport path. Products 227 are transported by the transport path 100through the scanning zone 210 in the direction shown by arrow 220.

The product measurement subsystem 204 is comprised of a plurality oflongitudinal photocells 221 positioned along the length of the transportpath 100 (see also FIG. 1), a set of entrance photoelectric cells 222 atthe entrance to the scanning zone 210 and an exit photoelectric cell 224at the exit from the scanning zone 210 (see FIGS. 2A and 2B). Eachphotocell emits a light beam 223 directed through the gap 118 betweenadjacent feed rollers 102. The light beam 223 is reflected by a mirror225 under the transport path back to the photocell for detection. Eachproduct 227, whether singulated or overlapping, that is processed by theapparatus will intercept the photocell light beams 223 therebygenerating a "shadow" on the transport path 100 that is detected by thephotocells of the product measurement subsystem 204. When a productshadow enters the scanning zone 210, the system 200 assigns a trackingrecord to the shadow containing shadow measurement, bar code, position,sorted destination and overlap information. The tracking record followseach shadow through the apparatus to assist in any subsequent sortingoperation following output from the transport path 100. Furthermore theshadow measurement and bar code information for each shadow isadvantageously used to identify a product overlap occurrence in a mannerto be described.

The set of entrance photocells 222 are periodically spaced across thewidth of the transport path 100 perpendicular and adjacent to the insiderail 104 at the beginning of the scanning zone to measure the width ofthe product shadow. The product shadow width measurement is maderelative to the inside rail 104 because the lateral tilt of thesingulator will cause the products to be lined up in single file fashionagainst the inside rail. The entrance photocells 222 further detect anyskewing of the product shadow by comparing the time each entrancephotocell is blocked. If blocking by the shadow does not occur atsubstantially the same time, the product in the shadow is likely skewedwith respect to the inside rail. Identification of skewed products inthe stream is important because skewing affects the accuracy of theproduct shadow width and length measurements.

In the preferred embodiment, the photocells 221 measure length of eachproduct being transported downstream by determining the number ofcontiguous cells covered by the product shadow. As the distance betweenadjacent cells 222 is fixed, the number of contiguously covered cellsmultiplied by adjacent cell distance provides an approximation of theshadow length. This measurement of length is continuously updated as theproduct is transported downstream toward the scanning zone. When theproduct shadow reaches the entrance photocells 222, the most recentproduct shadow length measurement is accessed to determine whether twoor more products are present in the shadow. The entrance photocells 222,in addition to measuring width, may also be configured to measure thelength of the shadow by measuring the elapsed time between detection ofthe leading edge 229 and trailing edges 231 of the shadow. The productmeasurement subsystem 204 is also used to assist the scanning subsystem202 in matching (assigning) scanned bar codes to particular shadows inthe product stream. With each detected leading edge 229 of a product 227entering the scanning zone 210, the set of entrance photocells 222signal a system computer (see FIG. 3) receiving information from thescanning subsystem 202 of a new shadow in the singulated product stream.The system computer then allocates a tracking record for the shadow andopens a scanner read window for the shadow moving through the scanningzone 210. While the window is open, all bar codes read by the scanningsubsystem 202 are assigned to the tracking record for the shadowpresently traversing the scanning zone. When a trailing edge 231 of theproduct 227 is detected by the exit photocell 224, the computer issignalled of the exit of the product shadow from the scanning zone 210and the scanner read window is closed to prevent any other read barcodes from being assigned to the product shadow. The bar codes matchedto each shadow during the opening of the scanner read window are thenanalyzed in a manner to be described to determine if two or moreoverlapping products are present therein.

For properly separated products, the scanning subsystem 202 should matchonly one bar code to the tracking record for each shadow. However,multiple bar codes can be reported to the tracking record for a shadowhaving only a single product therein if the same bar code is scanned bythe same or different scanners two or more times while the scanner readwindow is open. The reporting of multiple bar codes for a single productin a product shadow creates ambiguities in the overlapping productdetermination that must be resolved in order to accurately identify anoverlap occurrence from a tracking record containing two or more matchedbar codes.

Accordingly, the scanning subsystem 202 identifies a product overlapoccurrence when multiple bar codes are matched to a shadow according tothe following rules: 1) any combination of two or more different barcodes in a single shadow indicates an overlap occurrence; 2) two or moreidentical bar codes read by multiple non-mutually exclusive rasterscanners are assumed to be a rescan of the same code; 3) two or moreidentical bar codes read by a single line scanner in a single shadowindicates an overlap occurrence if the read times for the multiple scansdiffer by a predetermined amount of time; and 4) two or more baridentical bar codes read by mutually exclusive line scanners in a singleshadow indicates an overlap occurrence.

The product measurement subsystem 204 identifies product overlaps byrecognizing that most product overlaps are partial overlaps. Thus, theshadow generated by a product overlap on the transport path appears tobe a single product having greater than expected length in comparison toits width. This extra length is used by the product measurementsubsystem 204 to detect the presence of the overlap even when thescanning subsystem 202 fails to identify the presence of two or moreproducts in a single shadow from the scanning and matching of multiplebar codes. This could occur, for example, when the overlap of theproducts covers up the bar code for the additional product preventingdiscovery by the scanning subsystem 202.

In the product measurement subsystem 204, the length and width of eachshadow are measured by the photocells 221 and 222, respectively, in themanner described above. This measurement information is stored, updatedand accessed in the tracking record for each shadow. By comparing themeasured length of the present shadow to the average measured length forprior shadows having a similar width, a determination is made as towhether more than one product is present in the shadow. If the measuredlength exceeds the average length by a predetermined amount, thisindicates the existence of a partial overlap of two or more products inthe shadow. This length based overlap examination will not identify anoverlap occurrence if two or more products present are completelyoverlapped since the measured and average lengths will be almostidentical.

Operation of the scanning and product measurement subsystems of thedetection system 200 and some of the rules for determining a productoverlap occurrence may be best understood through a simple example. Theset of entrance photocells 222 will detect the leading edge of a shadowassociated with one or more magazines in a singulated magazine stream.The number of entrance photocells 222 detecting the magazine shadowprovides a width measurement for the products. As is known, the lengthof a magazine is often related to its width and magazines generally comein only a few different relatively standard dimensions (compare sizes of"TV Guide", "Time" and "Life" magazines). The number of contiguouslongitudinal photocells 221 detecting the magazine shadow prior todetection of the shadow leading edge by the entrance photocells 222provides a length measurement for the products. The width and lengthmeasurements are then compared and if not consistent with each other andindustry standards for magazines (as determined from prior shadowmeasurements), a product overlap occurrence is signalled and recordedfor that shadow in its tracking record.

Continuing with the preceding example, following detection of theleading edge of the magazine shadow, the scanner read window is openedand the raster and line scanners 206 and 208 of the scanning subsystem202 scan the moving magazine shadow for bar codes. Scanning willcontinue until the transport path carries the shadow downstream and thetrailing edge of the shadow is detected by the exit photocell. Thescanner read window is then closed for that shadow. If, for example, twodifferent bar codes are matched to the tracking record by the scanningsubsystem for a single shadow (a violation of rule one above), two ormore products are likely in the shadow causing an overlap occurrence tobe signalled and recorded in the tracking record for that shadow. Theoperation of the scanning and product measurement subsystems will bemore fully and precisely described with respect to FIGS. 4 and 5A-5C asdescribed below.

Reference is now made to FIG. 3 wherein there is shown a schematic viewof the scanning subsystem 202 and product measurement subsystem 204.Associated with each raster scanner 206 or line scanner 208 in thescanning subsystem 202 is a decoder 226 for decoding the scanned opticalinformation and outputting an information signal related to the scannedbar code(s) for each shadow. The decoding operation involves atranslation of the output data formats for the information signals ofeach different scanner into a common, computer understandable formatdisclosing the scanned code. Decoding of the optical information signalsoutput by each raster and line scanner is provided by a SCANSTAR 240Decoder also purchased from Computer Identics. The scanned codes arethen transmitted from the scanning subsystem 202 to a host computer 228where a determination is made on whether the multiple bar codes matchedto a shadow indicate the presence two or more overlapping products. Thecomputer 228 also analyzes the output codes by means of a look-up tableto determine the proper sorted output disposition for the product in theshadow. The computer 228 further accurately counts and categorizes thescanned products in the stream according to the affixed codes. Thecomputer 228 then signals the subsequent sorting machine to sort theproduct stream according to the determined product disposition.

The raster and line scanners of the scanning subsystem 202 continuouslyscan the scanning zone on the transport path 100 for bar codes. In orderto associate a scanned bar code with a particular product shadow in thestream, the computer 228 uses the photocells 222 and 224 at the entranceto and exit from the scanning zone to open and close the scanner readwindow to correspond to the scanning zone 210 and to identify and trackproduct shadows along the transport path 100. The computer 228 thusaccepts for matching only those bar codes scanned during the time theread window is open between the detection of the leading product edge bythe entrance photocell 222 and the detection of the trailing productedge by the exit photocell 224. All other bar codes are ignored. Theaccepted bar codes are matched to a tracking record for the identifiedshadow to enable the computer to identify an overlapping productoccurrence from multiple matched bar codes as described above. Thecomputer 228 also receives and analyzes the signals from the photocells221 and 222 to obtain product shadow length and width measurements. Thecomputer 228 then compares the measured length and width to previouslymeasured lengths and widths for product shadows to identify productoverlaps in the manner previously described.

Raster scanners for reading ladder oriented codes on the bottom side ofeach product in the product stream are not included in the embodimentshown in FIGS. 2A, 2B, 2C and 3 because ladder oriented codes compriseroughly only ten to fifteen percent of the orientations for bar codesused on products. The pair of raster scanners 206 and the pair of linescanners 208 provided as shown will therefore scan the bar codes forapproximately ninety-five percent of the products processed by thescanning subsystem 202 (all products with picket oriented codes andabout one-half of the products with ladder oriented codes). It will, ofcourse, be understood that an additional pair of raster scanners 206 forscanning the bottom of the product stream may be added when asignificant portion of the products anticipated in the scanningoperation will have ladder oriented bar codes. The addition of an extraset of raster scanners will change the scanning system overlap detectionrules only in that an overlap will be detected when the same bar code isread by mutually exclusive raster scanners.

Reference is now made to FIGS. 4, 5A, 5B and 5C wherein there are shownflow diagrams for two routines executed by the computer shown in FIG. 3for detecting product overlaps in a singulated product stream using theapparatus of FIGS. 1, 2A and 2B as described above. The first routine inFIG. 4 detects overlaps based on the measured length and width of theproduct shadow. In decision step 300, the set of entrance photoelectriccells 222 are polled to detect the leading edge of a product shadow. Thelongitudinal photoelectric cells 221 are then polled in step 302 todetermine the number of contiguous photoelectric cells covered by thedetected shadow to give a measurement of the length of the shadow. Thedetected shadow is then assigned a tracking record in step 304 and theshadow width is initialized in step 306.

The routine then enters a loop 308 where the product width is firstdetermined by identifying the number of entrance photoelectric cells 222covered by the product shadow (read step 310). Until the trailing edgeof the product shadow is detected by decision step 314, the loop 308rechecks the product width to account for any skew of the product shadowand thereby obtain the maximum width of the shadow (steps 314 and 316).The routine exits the loop 308 when the trailing edge is detected instep 312.

Once the actual shadow length and width have been determined (steps 302and 316), the routine calculates in step 318 the expected length of theshadow by averaging the lengths of several previously measured productshadows having the same or roughly equal shadow widths. In decision step320, the calculated average length is compared to the actual length ofthe product shadow obtained from the measurement in step 302. If theactual length is greater than the calculated average length by more thana predetermined amount, the product tracking record (step 304) for theshadow is marked in step 322 as an overlap and the routine returns (step324) to await the next product shadow. Otherwise, the shadow isidentified as a single product and the routine returns (step 324) toawait the next product.

The second routine in FIGS. 5A, 5B and 5C detects overlapping productsbased on the scanning of multiple bar codes for a single product shadow.In decision step 340, the set of entrance photoelectric cells 222 arepolled to detect the leading edge of a product shadow. Upon such adetection, all bar codes previously read by the line scanners and rasterscanners are cleared (step 342) and the scanner read window for theshadow tracking record is opened (step 344). The routine then checks indecision step 346 to see if the exit photoelectric cell 224 has detectedthe trailing edge of the product shadow. If yes, the scanner read windowis closed (step 348) for that product shadow and the routine returns(step 350) with overlap product validity and bar code information on thedetected shadow to await the next product shadow.

If the exit photoelectric cell 224 has not detected the trailing edge ofthe product shadow, the routine polls the line scanners for a read barcode in decision step 352. If a line scanner has read a bar code, thescanner identification, bar code and time of read are noted (steps 354and 356) in the shadow tracking record. The time of the bar code read isimportant in identifying whether multiple identical bar codes arepresent in the product shadow as will be described. If no previous barcode had been read for this read window (steps 358 and 360), the linescanner bar code is recorded in the tracking record and the shadow ismarked as a valid non-overlap (step 362). If a previous bar code hadbeen read in this read window by a raster scanner, the routine advancesto step 364 and the read bar code is ignored and the shadow marked as aninvalid overlap. If a previous bar code had been read in this readwindow by a line scanner, the routine checks in decision step 366 to seeif the prior and present bar codes match. If not, the line scanner barcode is ignored and the shadow is marked by step 364 as an invalidoverlap, indicating the presence of multiple products in the readwindow.

If the prior and present bar codes do match, decision step 368 checksthe stored scanner identification (step 354) to determine if the samescanner reported each bar code. If no, the codes were read by mutuallyexclusive line scanners and the line scanner bar code is ignored by step364 and the shadow is marked as an invalid overlap, indicating thepresence of multiple products in the read window. If the same scannerreported the bar codes, the routine advances to decision step 370 tocompare the read times (step 356) for each identical bar code read. Ifthe read times are nearly identical, then the two scans of the same codeby the same scanner are considered to be multiple scans of the same barcode on one product in a product shadow. The routine then advances tostep 362 to record the code and mark the shadow as a valid non-overlap.If the times of scan differ by more than a predetermined amount, thenthere are at least two of the same product in the read window for asingle product shadow and the line scanner bar code is ignored by step364 and the shadow marked as an invalid product overlap. The read barcode, scanner identification, shadow overlap product validity and readtime are then stored in step 372 in the tracking record for later accesswhen comparing the next scanned bar code from a line scanner or foroutput in connection with the detected shadow when the routine returnsin step 350.

Following either a no bar code scanned result in step 352 or the storageof line scanner information in step 372, the routine advances to checkthe raster scanners. In decision step 374, the raster scanners arepolled for a read bar code. If the raster scanners have not read any barcodes, the routine returns (step 376) to check the line scanners. If araster scanner has read a bar code, the scanner identification and barcode are noted (step 378) in the tracking record and a determination ismade as to whether a previous bar code was read for this read window(steps 380 and 382). If no prior bar codes were read, the routineadvances to step 384 and the raster scanner bar code is recorded and theshadow is marked as a valid non-overlap. If a previous bar code had beenread in this read window by a line scanner, the routine advances to step386 and the rend bar code is ignored and the shadow marked as an invalidoverlap. If a prior raster scanner bar code exists in this read window,the present and prior codes are compared in step 388. If the two codesare the same, then the routine advances to step 384 and the rasterscanner bar code is recorded and the shadow marked as a validnon-overlap. If the two codes are not the same, then the routineadvances to step 386 and the raster scanner bar code is ignored and theshadow is marked as an invalid overlap indicating the presence ofmultiple products in the shadow. In either event the bar code, shadowoverlap product validity and raster scanner identification are stored(step 390) and routine returns (step 376) to check the line scanners.The stored bar code and shadow overlap validity are output in connectionwith the detected shadow for subsequent access in sorting the productswhen the routine returns in step 350.

Although preferred embodiments of the invention have been illustrated inthe accompanying Drawings and described in the foregoing DetailedDescription, it will be understood that the invention is not limited tothe embodiments disclosed but is capable of numerous rearrangements andmodifications of parts and elements without departing from the scope ofthe invention.

I claim:
 1. Apparatus for processing a stream of transported productsincluding both singulated products and overlapping products, whereineach product in the stream of transported products has an identifyingcode affixed thereto, comprising:means for scanning the stream oftransported products for affixed identifying codes; means for matchingeach identifying code scanned by the means for scanning to a particularone of the scanned transported products in the stream; and means foridentifying a scanned transported product as an overlapping product whenmultiple identifying codes scanned by the means for scanning are matchedto the same scanned transported product.
 2. The apparatus as in claim 1wherein the means for scanning further includes means for recording thetime each identifying code is scanned, the means for identifying furtherincluding:means for comparing the multiple identifying codes matched tothe same transported product; means for comparing scan times formultiple identifying codes matched to the same transported product; andmeans for identifying the transported product as a singulated productwhen the multiple identifying codes matched to the same transportedproduct are identical and have compared scan times less than apredetermined time differential.
 3. The apparatus as in claim 1 whereinthe means for scanning comprises:a first scanner positioned to scan foridentifying codes affixed to a top side of products in the stream oftransported products; and a second scanner positioned to scan foridentifying codes affixed to a bottom side of products in the stream oftransported products.
 4. The apparatus as in claim 3 wherein the meansfor identifying further identifies the transported product as anoverlapping product when an identifying code scanned by the firstscanner and an identifying code scanned by the second scanner arematched to the same scanned transported product.
 5. A method forprocessing a stream of transported products including both singulatedproducts and overlapping products, wherein each product in the stream oftransported products has an identifying code affixed thereto, comprisingthe steps of:scanning the stream of transported products for identifyingcodes; matching each identifying code scanned by the means for scanningto a particular one of the scanned transported products in the stream;and identifying the particular transported product as an overlappingproduct when multiple identifying codes scanned by the means forscanning are matched to the same scanned transported product.
 6. Themethod as in claim 5 wherein the step of scanning further includes thestep of recording the time each identifying code is scanned, and whereinthe step of identifying further includes the steps of:comparing themultiple identifying codes matched to the same transported product;comparing scan times for multiple identifying codes matched to the samescanned transported product; and identifying the transported product asa singulated product rather than an overlapping product if the multipleidentifying codes matched to the same scanned transported product areidentical and have compared scan times less than a predetermined timeapart.
 7. The method as in claim 5 wherein the step of scanningcomprises the steps of:scanning for identifying codes affixed to a topside of products in the stream of transported products; and scanning foridentifying codes affixed to a bottom side of products in the stream oftransported products.
 8. The method as in claim 7 wherein the step ofidentifying further identifies the transported product as an overlappingproduct when an identifying code scanned by the first scanner and anidentifying code scanned by the second scanner are matched to the sametransported product.